# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your MultiworldGG options are valid at this site:
#        https://multiworld.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Heretic (Beta) Template

game: Heretic (Beta)
requires:
  version: 0.7.259 # Version of MWGG required for this yaml to work as expected.
  game:
    Heretic (Beta): 2.0.20260629 # Version of the world required for this yaml to work as expected.

Heretic (Beta):
  ################
  # Game Options #
  ################
  allow_collecting_from:
    # If other players are allowed to '!collect' items from your world.
    'false': 0
    'true': 50

  ####################
  # Episodes to Play #
  ####################
  episode1:
    # City of the Damned.
    # 
    # This episode includes the following levels:
    # 
    # - The Docks (E1M1)
    # - The Dungeons (E1M2)
    # - The Gatehouse (E1M3)
    # - The Guard Tower (E1M4)
    # - The Citadel (E1M5)
    # - The Cathedral (E1M6)
    # - The Crypts (E1M7)
    # - Hell's Maw (E1M8)
    # - The Graveyard (E1M9)
    'false': 0
    'true': 50

  episode2:
    # Hell's Maw.
    # 
    # This episode includes the following levels:
    # 
    # - The Crater (E2M1)
    # - The Lava Pits (E2M2)
    # - The River of Fire (E2M3)
    # - The Ice Grotto (E2M4)
    # - The Catacombs (E2M5)
    # - The Labyrinth (E2M6)
    # - The Great Hall (E2M7)
    # - The Portals of Chaos (E2M8)
    # - The Glacier (E2M9)
    'false': 0
    'true': 50

  episode3:
    # The Dome of D'Sparil.
    # 
    # This episode includes the following levels:
    # 
    # - The Storehouse (E3M1)
    # - The Cesspool (E3M2)
    # - The Confluence (E3M3)
    # - The Azure Fortress (E3M4)
    # - The Ophidian Lair (E3M5)
    # - The Halls of Fear (E3M6)
    # - The Chasm (E3M7)
    # - D'Sparil's Keep (E3M8)
    # - The Aquifer (E3M9)
    'false': 0
    'true': 50

  episode4:
    # The Ossuary.
    # 
    # This episode includes the following levels:
    # 
    # - Catafalque (E4M1)
    # - Blockhouse (E4M2)
    # - Ambulatory (E4M3)
    # - Sepulcher (E4M4)
    # - Great Stair (E4M5)
    # - Halls of the Apostate (E4M6)
    # - Ramparts of Perdition (E4M7)
    # - Shattered Bridge (E4M8)
    # - Mausoleum (E4M9)
    'false': 50
    'true': 0

  episode5:
    # The Stagnant Demesne.
    # 
    # This episode includes the following levels:
    # 
    # - Ochre Cliffs (E5M1)
    # - Rapids (E5M2)
    # - Quay (E5M3)
    # - Courtyard (E5M4)
    # - Hydratyr (E5M5)
    # - Colonnade (E5M6)
    # - Foetid Manse (E5M7)
    # - Field of Judgement (E5M8)
    # - Skein of D'Sparil (E5M9)
    'false': 50
    'true': 0

  episode6:
    # Fate's Path.
    # 
    # This is a minor episode. Another episode must be played alongside this one.
    # This episode includes the following levels:
    # 
    # - Raven's Lair (E6M1)
    # - The Water Shrine (E6M2)
    'false': 50
    'true': 0

  ################
  # Goal Options #
  ################
  goal:
    # Choose the goal of the game.
    # 
    # - **Complete All Levels**: Complete every level to win.
    # - **Complete Some Levels**: Complete some number of total levels to win.
    # - **Complete Random Levels**: Complete a set of randomly chosen levels to win.
    # - **Complete Specific Levels**: Complete a specific set of levels to win.
    # - **Complete Some And Specific Levels**: Complete some number of total levels, as well as specifically chosen ones, to win.
    complete_all_levels: 50
    complete_some_levels: 0
    complete_random_levels: 0
    complete_specific_levels: 0
    complete_some_and_specific_levels: 0

  goal_num_levels:
    # If the goal is 'Complete Some Levels', 'Complete Random Levels', or 'Complete Some And Specific Levels',
    # this is how many levels must be completed.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 47
    47: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-47: 0 # random value between 1 and 47

  goal_specific_levels:
    # If the goal is 'Complete Specific Levels', or 'Complete Some And Specific Levels',
    # all levels chosen here must be completed.
    ['Shattered Bridge (E4M8)', "D'Sparil's Keep (E3M8)", 'The Portals of Chaos (E2M8)', 'Field of Judgement (E5M8)', "Hell's Maw (E1M8)"]

  ######################
  # Difficulty Options #
  ######################
  difficulty:
    # Choose the game difficulty (skill level).
    # 
    # - **Wet nurse**: (Thou needeth a wet-nurse) - Damage taken is halved. Ammo received from pickups is doubled. Quartz Flasks and Mystic Urns are automatically used when the player nears death.
    # - **Easy**: (Yellowbellies-r-us) - Lesser number or strength of monsters, and more pickups.
    # - **Medium**: (Bringest them oneth) - The default skill. Balanced monsters and pickups.
    # - **Hard**: (Thou art a smite-meister) - Greater number or strength of monsters, and less pickups.
    # - **Black plague**: (Black plague possesses thee) - Monsters are faster and more aggressive.
    wet_nurse: 0
    easy: 0
    medium: 50
    hard: 0
    black_plague: 0

  trick_difficulty:
    # Choose which tricks, if any, can be logically expected.
    # 
    # - **None**: Assumes vanilla progression through levels.
    # - **Basic**: Some minor unintended strategies may be required.
    # - **Pro**: More advanced speedrunning strategies like wallruns, SR40/SR50 straferunning, and exploiting the Z axis may be required.
    # - **Extreme**: If it's feasible in real time, it's in logic. Includes tricks that require enabling vertical mouse movement, tricks that punish failure with death, or out-of-bounds movement.
    none: 50
    basic: 0
    pro: 0
    extreme: 0

  allow_death_logic:
    # Allow or disallow death logic locations and tricks.
    # 
    # Some locations can only be attempted once, and can become unreachable if the player fails to get them. Once this has happened, the player must die or otherwise reset the level to attempt to reach the location again.
    # If death logic is disabled, these locations will never contain any progression items.
    # 
    # On higher trick difficulty settings, this setting may also enable some tricks that put the player in a position where they are stuck and must die/reset the map afterwards.
    'false': 50
    'true': 0

  reset_level_on_death:
    # If enabled, when the player dies, the level is reset, respawning all pickups and monsters.
    # 
    # Turning this setting off is considered easy mode. Good for new players that don't know the levels well.
    # Note that regardless of this setting, your inventory and checks made are never lost on death.
    'false': 0
    'true': 50

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  energy_link:
    # Enables using the server's EnergyLink pool to obtain powerups.
    # 
    # When enabled, items sent to you that would have no mechanical effect are instead converted into energy.
    # You can then spend that energy at any later time to refill your ammo or give yourself powerups.
    # 
    # Optionally, you can set this option to an arbitrary string.
    # This will restict your EnergyLink pool to only other players that use the same string.
    'false': 0
    'true': 50

  ######################
  # Randomizer Options #
  ######################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  check_sanity:
    # If enabled, restores redundant location checks that are normally removed.
    # 
    # By default, to lower the location count slightly, some redundant locations are removed.
    # For example, in a room with three items right next to each other, two might be removed.
    # Enabling Check Sanity restores these locations.
    'false': 50
    'true': 0

  random_monsters:
    # Choose how monsters are randomized.
    # 
    # - **Off**: Monsters are left unchanged.
    # - **Shuffle**: Monsters in the level are shuffled around.
    # - **Same Type**: Each "small" monster in the level is replaced with a different "small" monster; same for "medium" and "big" monsters.
    # - **Balanced**: All monsters in the level are randomized. The ratio of "small", "medium", and "big" monsters in the level will be preserved.
    # - **Chaotic**: All monsters in the level are completely randomized. This can make levels *significantly* harder!
    'off': 50
    shuffle: 0
    same_type: 0
    balanced: 0
    chaotic: 0

  random_pickups:
    # Choose how pickups (medkits, ammo, etc.) are randomized.
    # 
    # - **Off**: Pickups are left unchanged.
    # - **Shuffle**: Pickups in the level are shuffled around.
    # - **Same Type**: Each "small" pickup in the level is replaced with a different "small" pickup; same for "medium" and "big" pickups.
    # - **Balanced**: All pickups in the level are randomized. The ratio of "small", "medium", and "big" pickups in the level will be preserved.
    # - **Chaotic**: All pickups in the level are completely randomized.
    'off': 50
    shuffle: 0
    same_type: 0
    balanced: 0
    chaotic: 0

  random_music:
    # Choose how music will be randomized.
    # 
    # - **Off**: The music tracks will be left unchanged.
    # - **Shuffle Selected**: All music tracks within the episodes you have selected will be shuffled together.
    # - **Shuffle Game**: All music in the entire game will be shuffled together.
    'off': 50
    shuffle_selected: 0
    shuffle_game: 0

  start_with_map_scrolls:
    # If enabled, all Map Scrolls will be given to the player from the start.
    'false': 50
    'true': 0

  split_bag_of_holding:
    # Split the Bag of Holding into six individual items, each one increasing ammo capacity for one type of weapon only.
    'false': 50
    'true': 0

  bag_of_holding_count:
    # How many Bags of Holding will be available.
    # If Split Bag of Holding is set, this will be the number of each capacity upgrade available.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  #################
  # Ammo Capacity #
  #################
  max_ammo_wand_crystals:
    # Set the starting capacity for Wand Crystals.
    # 
    # Setting this below the default of 100 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 999
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-999: 0 # random value between 10 and 999

  max_ammo_ethereal_arrows:
    # Set the starting capacity for Ethereal Arrows.
    # 
    # Setting this below the default of 50 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 999
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-999: 0 # random value between 5 and 999

  max_ammo_claw_orbs:
    # Set the starting capacity for Claw Orbs.
    # 
    # Setting this below the default of 200 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 999
    200: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-999: 0 # random value between 20 and 999

  max_ammo_runes:
    # Set the starting capacity for Runes.
    # 
    # Setting this below the default of 200 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 999
    200: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-999: 0 # random value between 20 and 999

  max_ammo_flame_orbs:
    # Set the starting capacity for Flame Orbs.
    # 
    # Setting this below the default of 20 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 2
    # Maximum value is 999
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-2-999: 0 # random value between 2 and 999

  max_ammo_mace_spheres:
    # Set the starting capacity for Mace Spheres.
    # 
    # Setting this below the default of 150 is allowed, but may be logically unsafe.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 15
    # Maximum value is 999
    150: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-15-999: 0 # random value between 15 and 999

  added_ammo_wand_crystals:
    # Set how much capacity for Wand Crystals will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 999
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-999: 0 # random value between 10 and 999

  added_ammo_ethereal_arrows:
    # Set how much capacity for Ethereal Arrows will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 999
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-999: 0 # random value between 5 and 999

  added_ammo_claw_orbs:
    # Set how much capacity for Claw Orbs will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 999
    200: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-999: 0 # random value between 20 and 999

  added_ammo_runes:
    # Set how much capacity for Runes will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 999
    200: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-999: 0 # random value between 20 and 999

  added_ammo_flame_orbs:
    # Set how much capacity for Flame Orbs will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 2
    # Maximum value is 999
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-2-999: 0 # random value between 2 and 999

  added_ammo_mace_spheres:
    # Set how much capacity for Mace Spheres will be added when a capacity upgrade is obtained.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 15
    # Maximum value is 999
    150: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-15-999: 0 # random value between 15 and 999

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: {Bomb: 1, Arrow: 3}
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: {Bomb: 1, Arrow: 3}
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
